﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;

namespace mal.Web.Silverlight.MEF.Core.Interfaces
{
    public delegate void ModulesAvailableHandler(Lazy<Page, IModuleMetadata>[] modules);
    public delegate void ModulesLoadingHandler(Module module);

    public interface IModulesLoader
    {
        event ModulesAvailableHandler ModulesAvailable;
        event ModulesLoadingHandler ModulesLoading;

        Lazy<Page, IModuleMetadata>[] Modules { get; set; }

        void LoadModule(Module module);
        void LoadModule(string pageRequested);
        //void OnImportsSatisfied();
    }
}
